package com.cskaoyan.javase.homework.senior._04io;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;

/**
 * @description:
 * @author: songtao@cskaoyan.onaliyun.com
 **/
/*

    2.键盘输入文件路径名，文件内容（一行字符串），按照输入的文件名，文件内容保存。
    要求输入内容的时候可以多次追加写入，以一个约定字符串表示结束输出内容，
    比如当输入end时表示终止内容输入。
    要求必须做异常处理,使用try-with-resource结构
 */
public class FileOutputStreamDemo2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 键盘输入文件路径名
        System.out.println("请输入文件路径名:");
        String fileName = scanner.nextLine();
        // 文件内容可重复追加 所以要使用append为true
        try (FileOutputStream out = new FileOutputStream(fileName, true)) {
            // while 循环录入新的内容
            // 当输入值为end时  跳出循环
            while (true) {
                System.out.println("请输入文件内容:");
                String fileContent = scanner.nextLine();
                if ("end".equals(fileContent)) {
                    break;
                }
                out.write(fileContent.getBytes());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
